feat: skip symbols with unparseable GUIDs, add portable pdb support#189
Merged
Conversation
Update pdb-guid to 2.1.0 which adds Portable PDB support. Replace separate tryGetPdbGuid/tryGetPeGuid with unified tryGetGuid using createFromFile. Skip upload for files where GUID parsing fails instead of falling back to legacy symbol store, except for source maps which still use the legacy upload path. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR updates symbol GUID extraction to use pdb-guid’s unified createFromFile API (including Portable PDB support) and changes upload behavior to skip non-source-map files when GUID parsing fails, avoiding legacy-store size limit failures.
Changes:
- Introduce
tryGetGuid(viacreateFromFile) and wire it into symbol file info creation for PDB/PE inputs. - Update upload logic to skip non-zip, non-source-map files when
dbgIdis missing, while keeping.mapuploads on the legacy path. - Replace/adjust tests to cover the unified GUID logic and new skip/legacy behaviors.
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/worker.ts | Adjusts upload routing: symbols store for GUID-bearing files, legacy for source maps/zips, skip when GUID missing. |
| src/info.ts | Consolidates PDB/PE detection and uses unified GUID extraction helper. |
| src/pdb.ts | Removes legacy per-format GUID helpers. |
| src/guid.ts | Adds unified GUID extraction wrapper around pdb-guid’s createFromFile. |
| spec/worker.spec.ts | Updates tests for skip behavior and source map legacy upload path. |
| spec/pdb.spec.ts | Removes old PDB/PE-specific GUID tests. |
| spec/guid.spec.ts | Adds tests for unified GUID extraction (including Portable PDB). |
| package.json | Updates pdb-guid dependency (currently to a local file reference). |
| package-lock.json | Reflects the pdb-guid dependency change (currently as a local link). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
daveplunkett
approved these changes
Apr 1, 2026
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
tryGetPdbGuid/tryGetPeGuidwith unifiedtryGetGuidusingcreateFromFile.map) still use the legacy upload path since they don't have GUIDsisPdbFile/isPeFilechecks ininfo.tssince they share the same handlerFixes #186 Closes DEV-317
Test plan
🤖 Generated with Claude Code